package b.gate.utils

/**
  * 贲国称 于 16/8/19 创建。
  */

abstract class AC处理结果(i结果码: Int, i结果信息: String) extends Error(s"$i结果码::$i结果信息") {
  val v结果码: Int = i结果码
  val v结果信息: String = i结果信息
  def f成功: Boolean = v结果码 == 200
  def f实例化: CC处理结果 = CC处理结果(v结果码, v结果信息)
}
case class CC处理结果(v结果码: Int, v结果信息: String)
case class CC交易成功() extends AC处理结果(200, "OK")
case class CC交易未找到(v交易码: String) extends AC处理结果(404, s"交易[$v交易码]未找到")
case class CC业务规则错(v规则描述: String) extends AC处理结果(417, v规则描述)
case class CC系统内部错(v错误信息: String) extends AC处理结果(500, v错误信息)
object CC业务规则错 {
  def apply(info: Any): CC业务规则错 = CC业务规则错(String.valueOf(info))
}
